![require(esm) Backported to Node.js 20, Paving the Way for ESM-Only Packages](https://cdn.sanity.io/images/cgdhsj6q/production/be8ab80c8efa5907bc341c6fefe9aa20d239d890-1600x1097.png?w=400&fit=max&auto=format)
Security News
require(esm) Backported to Node.js 20, Paving the Way for ESM-Only Packages
require(esm) backported to Node.js 20, easing the transition to ESM-only packages and reducing complexity for developers as Node 18 nears end-of-life.
broccoli-merge-trees
Advanced tools
The broccoli-merge-trees npm package is used to merge multiple Broccoli trees into a single tree. This is useful in build processes where you need to combine outputs from different sources or plugins into one cohesive output.
Basic Merge
This feature allows you to merge two or more trees into a single tree. The code sample demonstrates merging two trees located at 'path/to/tree1' and 'path/to/tree2'.
const mergeTrees = require('broccoli-merge-trees');
const tree1 = 'path/to/tree1';
const tree2 = 'path/to/tree2';
const mergedTree = mergeTrees([tree1, tree2]);
Overwrite Option
This feature allows you to specify whether files in later trees should overwrite files in earlier trees. The code sample demonstrates merging two trees with the overwrite option set to true.
const mergeTrees = require('broccoli-merge-trees');
const tree1 = 'path/to/tree1';
const tree2 = 'path/to/tree2';
const mergedTree = mergeTrees([tree1, tree2], { overwrite: true });
Annotation
This feature allows you to add an annotation to the merged tree for easier debugging and logging. The code sample demonstrates merging two trees with an annotation 'Merged Trees'.
const mergeTrees = require('broccoli-merge-trees');
const tree1 = 'path/to/tree1';
const tree2 = 'path/to/tree2';
const mergedTree = mergeTrees([tree1, tree2], { annotation: 'Merged Trees' });
The broccoli-concat package is used to concatenate multiple files into a single file. While broccoli-merge-trees combines entire trees, broccoli-concat focuses on combining file contents. This can be useful for tasks like combining JavaScript or CSS files.
The broccoli-funnel package allows you to filter and move files within a tree. It provides more granular control over the contents of a tree compared to broccoli-merge-trees, which merges entire trees. This can be useful for tasks like copying specific files or directories.
The broccoli-stew package offers a collection of Broccoli plugins for various tasks, including file manipulation, logging, and debugging. It provides more specialized functionalities compared to the general tree merging capabilities of broccoli-merge-trees.
Copy multiple trees on top of each other, resulting in a single merged tree.
npm install --save-dev broccoli-merge-trees
var mergeTrees = require('broccoli-merge-trees');
var outputTree = mergeTrees(inputTrees, options);
inputTrees
: An array of trees
options
: A hash of options
overwrite
: By default, broccoli-merge-trees throws an error when a file
exists in multiple trees. If you pass { overwrite: true }
, the resulting
tree will contain the version of the file as it exists in the last input
tree that contains it.Clone this repo and run the tests like so:
npm install
npm test
Issues and pull requests are welcome. If you change code, be sure to re-run
npm test
. Oftentimes it's useful to add or update tests as well.
0.1.4
FAQs
Broccoli plugin to merge multiple trees into one
The npm package broccoli-merge-trees receives a total of 0 weekly downloads. As such, broccoli-merge-trees popularity was classified as not popular.
We found that broccoli-merge-trees demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 4 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
require(esm) backported to Node.js 20, easing the transition to ESM-only packages and reducing complexity for developers as Node 18 nears end-of-life.
Security News
PyPI now supports iOS and Android wheels, making it easier for Python developers to distribute mobile packages.
Security News
Create React App is officially deprecated due to React 19 issues and lack of maintenance—developers should switch to Vite or other modern alternatives.